'''
调试代码
    1. print() 输出错误发生位置的相关变量的值
    2. assert 断言
            如果断言失败，则抛出AssertionError异常
            -O 关闭断言
    3. logging 日志
            logging可以输出到控制台，也可以输出到文件中
            logging的输出方式比较容易控制
            日志有5种级别
                DEBUG
                INFO
                WARNING
                ERROR
                CIRITICAL
    4. DEBUG 代码调试工具
'''
import logging

# 设置日志的级别
# logging.basicConfig(level=logging.INFO)
# logging.basicConfig(level=logging.DEBUG)
logging.basicConfig(level=logging.ERROR)

def f(s):
    # print('s=%s'%s)
    # assert s !='0','s的值是0'
    logging.info('f:s=%s'%s)
    return 1/int(s)

def b(s):
    # assert s !='0','s的值是0'
    logging.debug('b:s=%s'%s)
    return f(s)*2

def main():
    return b('0')*2

main()